package com.whut.service;

import com.alibaba.fastjson.JSONObject;
import com.whut.model.*;
import com.whut.v_vo.GroupPointVO;

import java.util.List;

public interface AndroidService {

    /*人员信息*/
    public Object checkPassword(String userPhone, String password);

    public Object modifyUserinfo(Userinfo userinfo);

    public Object modifyPwd(int userId, String newPwd, String oldPwd);

    public Object getGroupMemberDetail(int userId);

    public Object getSelfGroup(int userId);

    public Object getAllGroupList();

    /*任务信息*/
    @Deprecated
    public Object getTasksByUserId(int userId);

    public Object getAllProjects(int pageNum,int pageSize);

    public Object getAllTaskAcceptList(int userId);

    public Object getAllContractUf();

    public String addTaskAccept(Contracttaskaccept con);

    public Object getConChTaskListByTaskId(int taskId);

    public String addConTaskProject(JSONObject jsonObject);

    public Object getCTPByContractId(int contractId);

    /*体系*/
    public Object getSecByFirstName(String firstName);

    public Object getNextSystemByCurNum(int curNumber);

    public Object getProblemDesListBySixNum(int sixNum);

    public Object getSystemNextListFromProColl(int checkId,int curNum,int type);

    /*检查单项结果*/
    public String addResultSingleChild(Resultsinglechild resultsinglechild);

    /*获取单次任务单人的检查列表*/
    public Object getPersonalSingleCheckList(int checkId,int userId);

    /*单人合并*/
    public String doPersonalMerge(int checkId,int userId);

    /*获取未检查项*/
    public Object getUncheckedSixthList(int fourthId,int checkId);

    /*提交各个排除项*/
    public String updateUnsubmit(JSONObject jsonObject);

    /*置任务完成状态*/
    public String updateFinishState(int checkId);

    /*查看某个人是否是小组长*/
    public String getIsHead(int userId, int groupId);

    /*保存签名路径和文件名*/
    public String saveSigs(ContractCheckTask contractchecktask);

    /*获取当前检查的完成状态*/
    String getIsCheckFinished(int checkId);

    /*根据projectId获取设备列表*/
    public Object getDeviceListByProjectId(int projectId);

    /*删除设备*/
    public String deleteDeviceInfoByEquipId(int equipId);

    /*更新设备信息*/
    public String updateDeviceInfo(Equipinfo equipinfo);

    public String addDeviceInfo(Equipinfo equipinfo);

    /*获取版本更新*/
    public Object getUpdate(String currentVersion);

    /*通过第四级Id 与 checkId 来找到problemCollect中的检查项列表*/
    Object getTLExamineList(int checkId, int fourthId);

    /*通过problemCollect中的mkey从problemCollectDetail中找到一条详细的记录，并附带有选择项*/
    Object getTeamLeaderModifyIniInfo(int mkey);

    /*将一条记录根据mkey从problemCollect中删除*/
    String delProbCollRecord(int mkey);

    /*修改一条problemCollect中的记录*/
    String updateProbCollInfo(Problemcollect problemcollect);

    /*获取最新版本app的下载二维码*/
    public String getLatestVersionQRcode();

    /*找到一个用户所有resultsinglechild中的项 ，通过其checkId找到 有关的CCT（检查）*/
    public Object getPersonalCheckList(int checker,int pageNum,int pageSize);

    /*通过用户Id和检查Id 找到检查过(resultsinglechild中已经置Y)的项列表（不需分页）*/
    public Object getPerSIByCheckId(int userId, int checkId);

    /*通过mkey 查找RSC的细节*/
    public Object getRSCDetail(int mkey);

    public String updateAPPVersion(String version);

    /*取得该成员（组长）所在小组的检查项目列表（分页）*/
    Object getSignListByUserId(int userId, int curPage, int pageSize);

    /**
    * 加入一条空白的记录进入problemCollect
    *@author fuzhenjie
    *@date 19.9.21 13:54(GMT)
    *@param noproblemitem
    *@return java.lang.String
    */
    String addNoProblem(Noproblemitem noproblemitem);

    Object getEquipNumByCurNum(int projectId,int taskId, int curNumber);

    Object getEquipNumByChecker(int projectId, int firstId, int fourthId, int checker);

    Object getSampleEquipByProjectId(int projectId);

    Object requestThirdListAll(int checkId);

    Object getNewSecByFirstName(String firstName);

    Object getNewNextSystemByCurNum(int curNumber);

    Object getNewProblemDesListBySixNum(int preNum);

    List<Word2VecSystem> getMatchingText(String text);

    String segmentSentence(String text);


    Object getNewNextMeasureTableChooseByNumber(int curNumber);

    Object getNewLastMeasureTableChooseByNumber(int curNumber);

    Object newMeasureCalculate(String data);

    Object newMeasureAddPointValue(Newmeasureresulttmp data);

    Object getMeasurePointValues(String resultTypeId);

    List<List<GroupPointVO>> calcType1(int preNum);
    List<List<GroupPointVO>> calcType2(int preNum);
    List<List<GroupPointVO>> calcType3(int preNum);
    List<List<GroupPointVO>> calcType4(int preNum);
    List<List<GroupPointVO>> calcType5(int preNum);
    List<List<GroupPointVO>> calcType6(int preNum);
    List<List<GroupPointVO>> calcType7(int preNum);
    List<List<GroupPointVO>> calcType8(int preNum);
    List<List<GroupPointVO>> calcType9(int preNum);
    List<List<GroupPointVO>> calcType10(int preNum);
    List<List<GroupPointVO>> calcType11(int preNum);
    List<List<GroupPointVO>> calcType12(int preNum);

    Object getAllResult(String resultTypeId);

    Object getHasResult(String resultTypeId);

    Object getNewNextLastMeasureTableChooseByNumber(int curNumber);

    Object withDrawResult(String resultTypeId);

    Object getQfPoints(String resultTypeId);

    String getIsYJLUser(int userId);

    Object getEquipTypeNameList(String projectId);

    Object getEquipNumList(String projectId,String taskId, String equipType);

    Object getEquipSectionAndDescription(String equipType);

    Object getEquipVerifyResuts(String projectId, String equipType, String equipNum);

    Object addEquipVerifyResult(EquipVerifyResult equipVerifyResult);

    Object doPersonalMergeOnly(int checkId, int userId);

    Object getNewUncheckedSixthList(int fourthId, int checkId);
}
